5 Ağustos 2024 Pazartesi

Flutter 3.22 Yenilikler

 


Flutter 3.22'deki yenilikler

WebAssembly, Grafiksel görüntüleme geliştirmeleri ve AI entegrasyonu için daha fazla seçenek...




Flutter'ın bir diğer heyecan verici kararlı sürümüyle karşınızdayız! Bu kez, Flutter 3.22'yi sunmaktan büyük mutluluk duyuyoruz. Bu sürümde WebAssembly'yi kararlı kanala getiriyor, Android'de Impeller için tam özellikli bir Vulkan arka ucu sunuyoruz, daha pürüzsüz grafikler ve büyük bir performans artışı vaat ediyoruz. Ayrıca, yeni widget durumu özellikleri, dinamik görünüm boyutlandırma ve geliştirilmiş form doğrulaması ile iş akışlarını daha da kolaylaştırıyoruz. Fakat bu kadarla da kalmıyor — flavor-şartlı varlık paketleme, Dart'ta Vertex AI for Firebase önizlemesi ve hayatınızı kolaylaştıracak güncellenmiş DevTools'lar da bulacaksınız.

Son güncellememizden bu yana sadece birkaç ay içinde, Flutter topluluğundan 1595 pull request birleştirdik ve 37 yeni topluluk üyesi Flutter'a ilk kez katkıda bulundu!

Öyleyse dalın ve bu son sürümde Flutter topluluğunun getirdiği tüm yeni özellikleri ve geliştirmeleri keşfedin!

WebAssembly

Flutter 3.22'nin piyasaya sürülmesiyle birlikte, Wasm artık kararlı kanalda mevcut ve önemli performans iyileştirmeleri sunuyor. M1 MacBook'ta Chrome kullanarak yaptığımız dahili karşılaştırmalarda, Wonderous uygulamasının kare işleme süresi ortalama 2 kat ve en kötü senaryolarda 3 kat iyileşti.

Bu iyileştirmeler, animasyonlar ve zengin geçişler içeren uygulamalar için çok önemlidir; çünkü pürüzsüz kare hızlarını korumak esastır. Wasm, performans tıkanıklıklarını azaltarak daha pürüzsüz animasyonlar ve geçişler elde edilmesini sağlar. Flutter web uygulamalarınızda Wasm kullanmaya başlamak için Dart Wasm ve Flutter Wasm belgelerine göz atabilirsiniz. Tam duyuru için Flutter at Google I/O blog yazısını ziyaret edin.

Motor

Flutter 3.22, Flutter uygulamalarınızı güçlendiren Impeller motoruna önemli güncellemeler getiriyor. Öne çıkan özellikler arasında Android'de Vulkan arka ucunun tamamlanması, bulanık efektler ve karmaşık yol çizimi için devam eden optimizasyonlar ve Impeller ile test yapmak için yeni bir deneysel API bulunuyor. Yol haritamız doğrultusunda, Impeller'ın kalitesini ve performansını artırmaya, iOS'a geçişi tamamlamaya ve Android desteğini genişletmeye kararlıyız.

Impeller

Vulkan Arka Ucu Android'de Tamamlandı

Bu sürümde, Impeller'ın Android için Vulkan arka ucu tam özellikli. Geçtiğimiz birkaç ay içinde, ekip hızlı gelişmiş karışımların uygulanmasını, FragmentProgram API ile özel parça gölgelendiriciler için destek, PlatformView desteği (küçük bir API geçişi gerektirir) ve tüm bulanık stililerin tam olarak uygulanmasını tamamlamak için yoğun çalıştı.

Android Önizleme

Flutter 3.19 kararlı sürümde, Impeller'ın OpenGL arka ucundaki iyileştirmeleri yayınladıktan sonra, kullanıcıları Vulkan desteği olan ve olmayan Android cihazlarda Impeller'ı denemeye davet ettik. Geçtiğimiz birkaç ay içinde, OpenGL arka ucunun performansını değerlendirip Vulkan arka ucundaki kalan işi tahmin ettikten sonra, Vulkan arka ucunu önce üretime hazır hale getirme konusunda odaklanmaya karar verdik.

Impeller, gölgelendirici derleme jank sorununu çözer. Ayrıca, karşılaştırmalarımızda, ortalama, 90. ve 99. yüzdelik dilim kare sürelerinde eski render motordan daha iyi performans gösteriyor. Bu nedenle, Vulkan arka ucunun Android'de performansının kabul edilebilir olduğunu düşünüyoruz. Bu sürümde (3.22), Impeller'ı seçen bir uygulama, mevcut olduğunda Vulkan arka ucunu kullanacaktır. Gelecekteki bir sürümde, bu varsayılan hale gelecektir. Vulkan'ı desteklemeyen bir cihazda çalışan bir uygulama, OpenGL ES ile Skia kullanarak otomatik olarak geri dönüş yapacaktır. Tarafınızdan herhangi bir işlem yapmanız gerekmiyor. Gelecekte, OpenGL ES Impeller arka ucunun üretime hazır olduğunu düşündüğümüzde, bu geri dönüş de Impeller kullanacaktır.

Android'deki Impeller önizlemesi, 3.22 kararlı döngüsü boyunca devam ederken, Flutter geliştiricilerinin en son kararlı sürüme geçmelerini ve Impeller etkinleştirildiğinde fark edilen herhangi bir eksiklikle ilgili sorunları bildirmelerini rica ediyoruz. Bu aşamadaki geri bildirimler, Impeller'ın Android'de başarılı olmasını ve bu yılın ilerleyen zamanlarında varsayılan render motoru yapabileceğimizden emin olmamızı sağlamada çok değerlidir. Android donanım ekosistemi çok çeşitlidir. Bu nedenle, Impeller hakkındaki en yararlı geri bildirimler, sorunların meydana geldiği belirli cihaz ve Android sürümü hakkında ayrıntılı bilgiler içermelidir.

Bulanıklık Performans İyileştirmeleri

Bulanıklık hem iOS hem de Android'de Impeller'da yeniden uygulandı. Özellikle, Skia'ya benzer yeni yaklaşım, karşılaştırmalarda bulanıklıkların CPU ve GPU süresini neredeyse yarıya indirdi.

Aşağıdaki grafik, iPhone 11 cihazında bulanıklık performansını vurgulamak amacıyla tasarlanmış bir patolojik karşılaştırmada, en kötü, 99%-lik, 90%-lik ve ortalama kare rasterizasyon sürelerini ve GPU kare sürelerini gösterir. Impeller'ın bulanıklığını yeniden yazdıktan sonra, arka plan filtresi bulanıklıklarının CPU ve GPU maliyeti neredeyse yarıya indi. Bu iyileştirmenin ölçeği, tipik uygulamalarda olduğu gibi patolojik olmayan durumlarda da geçerlidir.

Stencil-then-Cover

Impeller hem iOS hem de Android'de, Stencil-then-Cover yaklaşımına dayalı yeni bir render stratejisine geçti. Bu yaklaşım, raster iş parçacığının, örneğin SVG'ler ve Lottie animasyonları gibi karmaşık yollar için CPU'da fazla zaman harcamasını çözmektedir. Değişiklikten sonra, karmaşık yollar içeren kareler için toplam kare süresi (UI iş parçacığı CPU'da + raster iş parçacığı CPU'da + GPU çalışması) çok daha düşüktür. Kullanıcılar, Lottie animasyonlarının ve diğer karmaşık yolların daha pürüzsüz bir şekilde renderlandığını, daha düşük CPU kullanımı ve biraz daha yüksek GPU kullanımı ile fark edecekler.

Yeni API

Henüz deneysel olsa da, flutter test şimdi --enable-impeller bayrağını kabul ediyor ve bu, Vulkan arka ucunu kullanarak Impeller'ı test eder.

Çerçeve

Widget Durumu Özellikleri

MaterialState, Material kütüphanesinin dışına taşındı ve WidgetState olarak yeniden adlandırıldı, böylece Cupertino, temel Flutter çerçevesi ve paket yazarları tarafından kullanılabilir hale geldi. Yeni WidgetState'e geçiş hakkında daha fazla bilgi için geçiş kılavuzuna bakın.

Dinamik Görünüm Boyutlandırma

Dinamik görünüm boyutlandırma iyileştirmeleri, çeşitli cihaz ekranlarında daha iyi UI uyarlanabilirliği sağlayarak, duyarlı düzenler oluşturan geliştiricilere fayda sağlar.

Geliştirilmiş Form Doğrulaması

Flutter topluluğu üyesi SharbelOkzan'ın katkıları sayesinde, Flutter 3.22 daha esnek form doğrulama yöntemleri ile geliyor, bu da geliştiricilerin daha sağlam kullanıcı girdisi işleme oluşturmasını sağlıyor, kullanılabilirlik ve güvenliği artırıyor.

2D API'lerde Kovaryantlar

2D grafik API'lerinde tür atamalarına duyulan ihtiyacı azaltmak, geliştirme iş akışlarını basitleştirir ve performansı artırır; bu, oyunlar ve karmaşık animasyonlar için önemlidir.

Lezzet-Şartlı Varlık Paketleme

Flavors özelliğini kullanan geliştiriciler, artık yalnızca belirli bir flavor için oluşturulurken paketlenecek olan bireysel varlıkları yapılandırabilir. Daha fazla bilgi için conditionally bundling assets based on flavor'a göz atın.

Dart Paketlerini Kullanarak Varlıkların Dönüştürülmesi

Kullanıcılar artık varlıklarını paketlenirken dönüştürmek için Dart paketlerini yapılandırabilirler. Daha fazla bilgi için Transforming assets at build time'a göz atın.

Android

Derin Bağlantılar

Derin bağlantılar, Flutter 3.22'de daha iyi desteklenmektedir, bu da kullanıcıların uygulamanızdaki belirli içeriğe erişmelerini kolaylaştırır. Uygulamanızda derin bağlantıların nasıl destekleneceğini öğrenin.

Güncellenmiş SDK Bağımlılıkları

Android projeleri için SDK bağımlılıkları güncellendi, en son sürümleri kullanarak güvenliği ve performansı artırdık.

iOS

Platform Görüntüleme Optimizasyonu

iOS'ta Platform Görüntüleme widget'ları için geliştirilmiş destek, daha iyi bir yerel bileşen deneyimi sağlar ve uygulama performansını artırır.

Metal Arka Ucu İyileştirmeleri

Metal Arka Ucu'ndaki iyileştirmeler, daha iyi grafik işleme ve animasyon performansı sağlar.

Eklentiler

Resmi Destek

  • flutter_local_notifications
  • google_maps_flutter
  • path_provider
  • url_launcher
  • video_player

Topluluk Destekli

  • flutter_sound
  • flutter_barcode_scanner
  • flutter_blue
  • sqflite

Geliştirici Araçları

DevTools Güncellemeleri

DevTools, performans ve hata ayıklama işlevselliğinde güncellemeler aldı. Yeni özellikler ve iyileştirmeler hakkında daha fazla bilgi edinmek için DevTools Update'a göz atın.

Dart SDK

Dart SDK'nın son sürümüyle, yeni dil özellikleri ve performans iyileştirmeleri sunuluyor. Dart SDK Release Notes'u ziyaret edin.

Özet

Flutter 3.22, performans, güvenlik ve geliştirici deneyimini artıran önemli iyileştirmeler ve yeni özellikler içeriyor. WebAssembly, Impeller, WidgetState, Dynamic View Sizing, Improved Form Validation, flavor-conditional asset bundling, Flutter Wasm gibi yeni teknolojiler, Flutter'ın gelecekteki potansiyelini göstermektedir.

Flutter 3.22 ile projelerinizin kalitesini ve performansını artırın ve bu heyecan verici yeni özellikleri deneyimleyin!

Daha fazla bilgi edinmek için resmi Flutter bloguna göz atın.


Yorum Gönder

Görüşlerinizi belirtin :

Start typing and press Enter to search